var frisby = require('frisby');

frisby.create('获取内容更新列表')
  .post('http://192.168.247.88:9090/hub/device/get-contents-updates', {
      'device-udid':'092700B6-2E6F-45D7-B55D-AEFACED48DDC'
  })
    // .inspectJSON()
    // manuals 为手册内容
    .expectJSON({
                    'manuals':{
                      "result":{
                            "acdn":{
                                "version":String,
                                "url":String},
                            "folder":Array,
                            "books":Array
                          }
                        }})

    .expectJSONTypes('manuals.result.folder.?', {
                      "name":String,
                      "uuid":String,
                      "submenu":Array
                    })
    .expectJSONTypes('manuals.result.folder.submenu.?', {
                      "name":String,
                      "uuid":String
                    })

    .expectJSONTypes('manuals.result.books.?', {
                      "uuid":String,//（手册本身ID,不可为空）
	                    "version_number":String,//（版本号）
	                    "name":String,//（不可为空）
	                    "category":String,//（不可为空）(传递的是手册分类UUID,没有UUID传递的是手册分类名称)
	                    "language":String,//（不可为空，CHN为中文，ENG为英文，BOTH为通用）
	                    "tail":String,//（可为空）
	                    "for_all":String,//是否分配到所有（表示是否是分配到全部设备1/0）,
	                    "allow_3G":String,// 是否可以使用3G下载（1/0）,
	                    "acconfig":String,// 可为空，多个构型以,分割，例如",A319-133,A319-112,A321-200"）
	                    "revision":String,//不可为空）
	                    "subsidiary":String,// "分子公司",（可为空）
	                    "effective_date":String,// "生效时间",（不可为空:1999-01-01T01: 01: 01+08: 00）iso8601
	                    "expiry_date":String,// "失效时间",（可为空1999-01-01T01: 01: 01+08: 00）iso8601"
                      "file_name":String,// "文件名称",（不可为空）
	                    "file_id":String,// "文件id-acdnid",（不可为空）
	                    "digest":String,// "md5",（不可为空）
	                    "size":String// "文件大小",（不可为空）
                    })

    // annunciates为公司通告内容
    .expectJSON({
                    'annunciates':{
                      "result":{
                            "acdn":{
                                "version":String,
                                "url":String},
                            "annunciates":Array
                          }
                        }})

    .expectJSONTypes('annunciates.result.annunciates.?', {
                      "uuid":String,//（手册本身ID,不可为空）
                      "version_number":String,//（版本号）
                      "name":String,//（不可为空）
                      "category":String,//（不可为空）(传递的是手册分类UUID,没有UUID传递的是手册分类名称)
                      "language":String,//（不可为空，CHN为中文，ENG为英文，BOTH为通用）
                      "tail":String,//（可为空）
                      "for_all":String,//是否分配到所有（表示是否是分配到全部设备1/0）,
                      "allow_3G":String,// 是否可以使用3G下载（1/0）,
                      "acconfig":String,// 可为空，多个构型以,分割，例如",A319-133,A319-112,A321-200"）
                      "revision":String,//不可为空）
                      "subscdidiary":String,// "分子公司",（可为空）
                      "effective_date":String,// "生效时间",（不可为空:1999-01-01T01: 01: 01+08: 00）iso8601
                      "expiry_date":String,// "失效时间",（可为空1999-01-01T01: 01: 01+08: 00）iso8601"
                      "file_name":String,// "文件名称",（不可为空）
                      "file_id":String,// "文件id-acdnid",（不可为空）
                      "digest":String,// "md5",（不可为空）
                      "size":String// "文件大小",（不可为空）
                    })

    // mtowmlwcharts为性能表内容
    .expectJSON({
                    'mtowmlwcharts':{
                      "result":{
                            "acdn":{
                                "version":String,
                                "url":String},
                            "mtow_mlw_chart":Array
                      }
                    }})
    .expectJSONTypes('mtowmlwcharts.result.annunciates.?', {
                      "mtowmlwchart_uuid":String,// "起降性能包UUID"（不可为空）,
	                    "mtowmlwchart_uuid_his":String,// "起降性能包历史UUID"（不可为空）,
	                    "airport":String,// "机场名称",（不可为空）
	                    "code4":String,// "机场四字码",（不可为空）
	                    "revision":String,// "版本号",（不可为空）
	                    "remark":String,// "备注",（可为空）
	                    "file_name":String,// "文件名称",（不可为空）
	                    "file_id":String,// "文件id-acdnid",（不可为空）
	                    "digest":String,// "md5",（不可为空）
	                    "size":String// "文件大小",（不可为空）
                    })

    // depress为释压与飘降内容
    .expectJSON({
                    'depress':{
                      "result":{
                            "acdn":{
                                "version":String,
                                "url":String},
                              "depress":Array
                            }
                      }})
    .expectJSONTypes('depress.result.depress.?', {
                      "depress_item":String,// "释压条目Id+depress",（不可为空）
	                    "depress_item_uuid":String,// "释压条目历史UUID",（不可为空）
	                    "name":String,// "名称",（不可为空）
	                    "revision": String,//"版本号",（不可为空）
	                    "airway":String,// "航线",
	                    "effective_date":String,// "生效时间",（不可为空:1999-01-01T01: 01: 01+08: 00）iso8601
	                    "expiry_date":String,// "失效时间",（不可为空:1999-01-01T01: 01: 01+08: 00）iso8601
	                    "minorconfig":String,// "构型包",
	                    "file_name":String,// "文件名称",（不可为空）
	                    "file_id":String,// "文件id-acdnid",（不可为空）
	                    "digest":String,// "md5",（不可为空）
	                    "size":String// "文件大小",（不可为空）
                    })

    //airportsefps为单发程序包内容
    .expectJSON({
                    'result':{
                      "result":{
                            "acdn":{
                                "version":String,
                                "url":String},
                              "airportsefps":Array
                            }
                          }})
    .expectJSONTypes('result.result.airportsefps.?', {
                      "airportsefp_item":String,// "单发条目Id+airportsefp",（不可为空）
	                    "airportsefp_item_uuid":String,// "单发条目历史UUID",（不可为空）
	                    "name":String,// "名称",（不可为空）
	                    "revision":String,// "版本号",（不可为空）
	                    "airport":String,// "机场中文名",
	                    "airport_code":String,// "机场四字码",
	                    "effective_date":String,// "生效时间",（不可为空:1999-01-01T01: 01: 01+08: 00）iso8601
	                    "expiry_date":String,// "失效时间",（不可为空:1999-01-01T01: 01: 01+08: 00）iso8601
	                    "minorconfig":String,// "构型包",
                      "file_name":String,// "文件名称",（不可为空）
	                    "file_id":String,// "文件id-acdnid",（不可为空）
	                    "digest":String,// "md5",（不可为空）
	                    "size":String// "文件大小",（不可为空）
                    })

    // charts为航图内容
    .expectJSON({
                    'charts':{
                      "result":{
                            "acdn":{
                                "version":String,
                                "url":String}
                              },
                      "version1":{
                          "uuid":String,// "uuid",（version1id,不随发布版本而变化不可为空）
                          "cycle_name":String,// "期号",（不可为空）
                          "revision":String,// "版本号",（不可为空）
                          "published_at":String,// "发布时间",（不可为空）
                          "effective_date":String,// "生效时间",（不可为空:1999-01-01T01: 01: 01+08: 00）iso8601
                          "file_name":String,// "终端图文件名称",（不可为空）
                          "file_id":String,// "终端图文件id-acdnid",（不可为空）
                          "digest":String,// "终端图md5",（不可为空）
                          "size":String,// "终端图大小",（不可为空）
                          "enroute_file_name":String,// "航路图文件名称",（不可为空）
                          "enroute_file_id":String,// "航路图文件id-acdnid",（不可为空）
                          "enroute_digest":String,// "航路图md5",（不可为空）
                          "enroute_size":String,// "航路图大小",（不可为空）
                          "custom_file_name":String,// "自制航图文件名称",（不可为空）
                          "custom_file_id":String,// "自制航图文件id-acdnid",（不可为空）
                          "custom_digest":String,// "自制航图md5",（不可为空）
                          "custom_size":String// "自制航图大小",（不可为空）
                        },
                      "version2":{
                          "uuid":String,//  "uuid",
                          "cycle_name":String,//  "期号",（不可为空）
                          "revision":String,//  "版本号",（不可为空）
                          "published_at":String,//  "发布时间",
                          "effective_date":String,//  "生效时间",//1999-01-01T01: 01: 01+08: 00）iso8601"file_name": "终端图文件名称",（不可为空）
                          "file_id":String,//  "终端图文件id-acdnid",（不可为空）
                          "digest":String,//  "终端图md5",（不可为空）
                          "size":String,//  "终端图大小",（不可为空）
                          "enroute_file_name": String,// "航路图文件名称",（不可为空）
                          "enroute_file_id":String,//  "航路图文件id-acdnid",（不可为空）
                          "enroute_digest":String,//  "航路图md5",（不可为空）
                          "enroute_size":String,//  "航路图大小",（不可为空）
                          "custom_file_name":String,//  "自制航图文件名称",（不可为空）
                          "custom_file_id":String,//  "自制航图文件id-acdnid",（不可为空）
                          "custom_digest":String,//  "自制航图md5",（不可为空）
                          "custom_size":String
                        }
                      }})

    .expectStatus(200)
.toss();
